package com.tanhua.dubbo.api.mongo;

import com.tanhua.domain.mongo.UserLike;
import com.tanhua.domain.vo.PageResult;

import java.util.List;

public interface UserLikeApi {

    //朋友数
    long queryEachLoveCount(long userId);

    // 喜欢数
    long queryLoveCount(long userId);

    //粉丝数
    long queryFansCount(long userId);

    PageResult queryEachLove(Integer page, Integer pagesize, long userId);

    PageResult queryLove(Integer page, Integer pagesize, long userId);

    PageResult queryFans(Integer page, Integer pagesize, long userId);

    PageResult queryVisitors(Integer page, Integer pagesize, long userId);

    //删除粉丝的数据
    void delete(long userId, Long fansId);
    /**
     * 添加一条用户喜欢别人记录
     */
    void addLikeUser(UserLike userLike);

    /**
     * 按用户id，和喜欢的用户id查询唯一一条数据
     * @param userId 用户id
     * @param likeId 喜欢的用户id
     * @return vo
     */
    List<UserLike> findLikeUser(long userId, String likeId);

    /**
     * 添加喜欢后检查对方是否也喜欢当前用户，是则添加好友
     * @param userId
     * @param likeId
     */
    void checkAndAddFriend(long userId, String likeId);

    /**
     * 添加一条 粉丝喜欢记录
     */
    void addFanLike(UserLike userLike);
    /**
     * 移除一条用户喜欢别人记录
     */
    void deleteLikeUser(Long userId, Long fansId);
}
